package
{
	import baidu.map.basetype.LngLat;
	import baidu.map.basetype.Size;
	import baidu.map.core.Map;
	import baidu.map.event.MapEvent;
	import baidu.map.layer.Layer;
	import baidu.map.layer.RasterLayer;
	
	import flash.display.Sprite;
	import flash.display.StageAlign;
	import flash.display.StageScaleMode;
	
	/*
	 * Demo:Map的事件Demo。
	 * 本例演示MapEvent.ADD_LAYER和MapEvent.BASELAYER_LEVEL_CHANGED两个事件。
	 * 您可以监听MapEvent中更多的事件。
	 */
	public class MapEventExample extends Sprite
	{
		public function MapEventExample()
		{
			super();
			
			// 舞台设置 
			stage.scaleMode = StageScaleMode.NO_SCALE;
			stage.align = StageAlign.TOP_LEFT;
			
			// 创建一个大小为600*400的Map对象
			var map:Map = new Map(new Size(600, 400));
			addChild(map);
			// 初始化Map的中心点和显示级别
			map.centerAndZoom(new LngLat(116.404, 39.915), 12);
			map.addEventListener(MapEvent.ADD_LAYER, onLayerAdded);
			map.addEventListener(MapEvent.BASELAYER_LEVEL_CHANGED, onBaseLayerLevelChanged);
			
			// 添加底图
			var layer:Layer = new RasterLayer("BaiduMap", map);
			map.addLayer(layer);
			
			// 改变底图的级别
			map.baseLayer.maxResolution = 65536;
		}
		
		private function onLayerAdded(evt:MapEvent):void{
			trace("添加图层");
		}
		
		private function onBaseLayerLevelChanged(evt:MapEvent):void{
			trace("底图最小显示级别改变");
			trace("当前最小显示级别为：" + evt.data.minLevel);
		}
	}
}